import Dictionary from "./dict/dictionary";
import {Request} from "./types";



/**
 * 统一管理所有需要定义的部分
 *
 * lang 包中允许动态调整的内容
 */
class Setting {

    constructor() {
    }

    /**
     * 初始加载条
     *
     * 全局加载条，第二次打开的时候，不会影响到之前打开的加载条
     */
    initializeLoadingBar() {
    }

    /**
     * 设置请求上下文
     *
     * 旧版本代码中，这个值比较重要，
     *
     * 目前没啥实际用途，只是方便传递这个参数
     *
     * @param path {string} application context path (servlet path)
     * @returns void
     */
    setContextPath(path) {
        // layer_setting.setContextPath(path);
    };

    /**
     * ajax 执行器
     *
     * 要求执行器返回一个 Promise<any> 函数
     *
     * @param executor - ajax 执行器
     */
    initializeAjax(executor: (request: Request) => Promise<unknown>): void {
        // layer_setting.setExecutor(executor);
    };

    /**
     * 初始化全部数据字典
     *
     * 默认情况下，数据字典是按需加载，自动缓存数据字典，
     * 当然，一次性加载全部数据字典，也是不错的做法。
     */
    initializeDictionary() {
        //do nothing...
    }

    /**
     * 初始化数据字典查询
     * @param provider -
     */
    initializeDictionaryProvider(provider: (options: string) => Promise<Dictionary>): void {
        Dictionary.provider = provider;
    }
}

export default Setting;